Statistical object recognition techniques are generally performed on sets of selectively measured data, referred to as features, to identify and distinguish objects or patterns of interest. Each collection of feature measurements may be considered a multi-dimensional vector, with each individual feature corresponding to one of the vector components. Each feature thereby forms an axis of a multi-dimensional feature space, and consequently any feature vector has a defined position in the feature space. The details of feature extraction depend on the application. One category of object recognition is biometric identification, where feature data representing the unique physical personal characteristics of an individual are used to recognize or verify the identity of a person. Commonly used biometric identifiers include face images and fingerprints, although other identifiers such as an individual's voice or hand geometry are also used.
In most biometric recognition techniques, before recognizing or matching the biometric information of an individual, a high dimensional biometric vector space is constructed. In biometric recognition, the raw biometric sample data obtained from individuals, corresponding for example to a face image or a fingerprint, is encoded into a biometric feature vector that “exists” in the biometric vector space. The similarity or nearness of a probe biometric vector in comparison to other previously encoded biometric vectors can then be measured, to determine a match and recognize an individual. Generally a match is made with the pre-encoded biometric vector that is most similar or nearest to the encoded biometric vector being tested or probed.
For example, in face recognition systems, a gallery of face images is first enrolled in the system and encoded for subsequent searching. A probe face is then obtained and compared with each coded face in the gallery, and the individual is recognized when a suitable match occurs. Because human faces and other biometric identifiers may display significant variation in appearance due, for instance, to changes in facial expression, orientation, facial hair, or lighting conditions, it is often difficult for face recognition systems to identify faces which exhibit considerable variation in appearance.
One well-known technique for face recognition uses eigenvector coding derived from Principal Components Analysis (PCA) to represent faces for recognition. In this photometric algorithm, the eigenvectors of the covariance matrix for an initial training set of face images are determined. The eigenvectors (which represent the principal components of the training set) act as a set of features which together characterize the variation between face images. Each face location contributes to a varying degree to each eigenvector, and the eigenvectors can be displayed as an “eigenface” which deviates from uniform grey where certain facial features differ from those of the training set faces. In this manner, the eigenfaces map the variation between faces, and each face can be represented in terms of a linear combination of the eigenfaces. Since the eigenfaces (and corresponding eigenvectors) account for a different amount of the variation among the face images depending on their eigenvalues, by using a subset of the eigenfaces having the largest eigenvalues, the most significant variation within the image set can be approximated with reduced dimensionality. The projection of an image on to this lower dimensional eigenspace yields an encoded vector. This projection, which is in effect an overlap image score, is then used for recognition by comparing the position or score of that encoded vector in eigenspace with the position or score of known individuals, and then determining which is nearest. Eigenface recognition techniques are described in more detail by Turk et al., “Eigenfaces for recognition”, Journal of Cognitive Neuroscience 3(1):71-86(1991), the contents of which are incorporated hereby by reference.
Several other methods and techniques for object, and more particularly biometric recognition, have been developed. For example, in addition to eigenfaces, prior art recognition systems may be based on: dynamic link matching as disclosed by Lades et al., “Distortion invariant object recognition in the dynamic link architecture”, IEEE Trans on Computers, 43(3):300-311 (Mar. 1993), probabilistic matching as disclosed by Moghaddam et al., “Beyond Eigenfaces: Probabilistic Matching for face recognition”, FG '98, pp. 30-35 (1998); support vectors as disclosed by Phillips, “Support Vector Machines applied to face recognition” Advances in Neural Information Processing Systems 11, eds: Jordan, Kearns, and Solla (1998); and local feature analysis as discussed by Penev et al., “Local Feature Analysis: A general statistical theory for object representation”, Network: Computation in Neural Systems 7(3), 477-500 (1996) and as incorporated in the FaceIt® software developer kit available from Visionics Corporation of Jersey City, N.J. The contents of each of the references cited above is incorporated herein by reference.
Although the accuracy of these and other recognition methods is typically good, they are nevertheless generally unable to rapidly and efficiently carry out the required searches for determining a match in a large database of objects or individuals. In many applications, this is problematic since object or biometric searches need to be performed in minimal time, e.g. for a real-time recognition application. There is therefore a need for a system and method of object recognition capable of improving the speed of existing object or biometric recognition algorithms. It would also be desirable if the amount of data required to store or represent encoded biometric or object vectors could be reduced or compressed.